/ Developer CD Series 1994 February: Tool Chest
/ Dev.CD Feb 94.toast / Tool Chest / Development Platforms / MCL Related / User Contributions / Conquest 1.1.sea / Conquest 1.1 / PLAYERS / paul-player / select-country.lisp ![]() | < prev |
MacBinary | 1993-02-20 | 4.6 KB | [TEXT/CCL2] |
Confidence | Program | Detection | Match Type | Support |
---|---|---|---|---|
1% | dexvert | MacBinary (archive/macBinary) | fallback | Supported |
1% | dexvert | Text File (text/txt) | fallback | Supported |
100% | file | MacBinary II, inited, Sat Feb 20 15:44:59 1993, modified Sat Feb 20 15:44:59 1993, creator Common Lisp 2, type ASCII, 4013 bytes "select-country.lisp" , at 0x102d 479 bytes resource | default (weak) | |
99% | file | data | default | |
74% | TrID | Macintosh plain text (MacBinary) | default | |
25% | TrID | MacBinary 2 | default (weak) | |
100% | dearkID | deark: macbinary | default | |
100% | siegfried | fmt/1762 MacBinary (II) | default | |
100% | lsar | MacBinary | default |
id metadata | |
---|---|
key | value |
macFileType | [TEXT] |
macFileCreator | [CCL2] |
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 13 73 65 6c 65 63 74 | 2d 63 6f 75 6e 74 72 79 |..select|-country|
|00000010| 2e 6c 69 73 70 00 00 00 | 00 00 00 00 00 00 00 00 |.lisp...|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 43 4c | 32 01 00 00 00 00 00 00 |.TEXTCCL|2.......|
|00000050| 00 00 00 00 00 0f ad 00 | 00 01 df a7 ac 48 cb a7 |........|.....H..|
|00000060| ac 48 cb 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.H......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 88 8a 00 00 |........|........|
|00000080| 3b 3b 3b 20 73 65 6c 65 | 63 74 2d 63 6f 75 6e 74 |;;; sele|ct-count|
|00000090| 72 79 2e 6c 69 73 70 0d | 3b 3b 3b 0d 3b 3b 3b 20 |ry.lisp.|;;;.;;; |
|000000a0| 43 4f 4e 51 55 45 53 54 | 20 41 49 20 50 52 4f 4a |CONQUEST| AI PROJ|
|000000b0| 45 43 54 0d 3b 3b 3b 0d | 3b 3b 3b 20 57 61 73 68 |ECT.;;;.|;;; Wash|
|000000c0| 69 6e 67 74 6f 6e 20 55 | 6e 69 76 65 72 73 69 74 |ington U|niversit|
|000000d0| 79 20 43 6f 6d 70 75 74 | 65 72 20 53 63 69 65 6e |y Comput|er Scien|
|000000e0| 63 65 20 44 65 70 61 72 | 74 6d 65 6e 74 0d 3b 3b |ce Depar|tment.;;|
|000000f0| 3b 20 43 6f 70 79 72 69 | 67 68 74 20 31 39 39 33 |; Copyri|ght 1993|
|00000100| 20 50 61 75 6c 20 4d 63 | 43 61 72 74 6e 65 79 2e | Paul Mc|Cartney.|
|00000110| 20 20 41 6c 6c 20 52 69 | 67 68 74 73 20 52 65 73 | All Ri|ghts Res|
|00000120| 65 72 76 65 64 2e 0d 3b | 3b 3b 0d 3b 3b 3b 20 41 |erved..;|;;.;;; A|
|00000130| 55 54 48 4f 52 3a 20 20 | 50 61 75 6c 20 4d 63 43 |UTHOR: |Paul McC|
|00000140| 61 72 74 6e 65 79 0d 3b | 3b 3b 0d 3b 3b 3b 20 44 |artney.;|;;.;;; D|
|00000150| 45 53 43 52 49 50 54 49 | 4f 4e 3a 0d 3b 3b 3b 0d |ESCRIPTI|ON:.;;;.|
|00000160| 3b 3b 3b 20 54 68 69 73 | 20 66 69 6c 65 20 69 73 |;;; This| file is|
|00000170| 20 61 20 70 6c 61 79 65 | 72 27 73 20 73 65 6c 65 | a playe|r's sele|
|00000180| 63 74 20 63 6f 75 6e 74 | 72 79 20 6d 6f 64 75 6c |ct count|ry modul|
|00000190| 65 2c 20 63 6f 6e 74 61 | 69 6e 69 6e 67 20 63 6f |e, conta|ining co|
|000001a0| 64 65 20 66 6f 72 20 64 | 65 74 65 72 6d 69 6e 69 |de for d|etermini|
|000001b0| 6e 67 0d 3b 3b 3b 20 61 | 20 63 6f 75 6e 74 72 79 |ng.;;; a| country|
|000001c0| 20 74 6f 20 73 65 6c 65 | 63 74 20 64 75 72 69 6e | to sele|ct durin|
|000001d0| 67 20 74 68 65 20 66 69 | 72 73 74 20 72 6f 75 6e |g the fi|rst roun|
|000001e0| 64 20 6f 66 20 43 6f 6e | 71 75 65 73 74 2e 0d 3b |d of Con|quest..;|
|000001f0| 3b 3b 0d 3b 3b 3b 20 54 | 68 69 73 20 6d 65 74 68 |;;.;;; T|his meth|
|00000200| 6f 64 20 61 74 74 65 6d | 70 74 73 20 74 6f 20 73 |od attem|pts to s|
|00000210| 65 6c 65 63 74 20 74 68 | 65 20 6d 6f 73 74 20 76 |elect th|e most v|
|00000220| 69 61 62 6c 65 20 63 6f | 75 6e 74 72 69 65 73 20 |iable co|untries |
|00000230| 6f 6e 20 74 68 65 20 6d | 6f 73 74 20 0d 3b 3b 3b |on the m|ost .;;;|
|00000240| 20 76 69 61 62 6c 65 20 | 63 6f 6e 74 69 6e 65 6e | viable |continen|
|00000250| 74 2e 20 20 54 68 65 20 | 76 69 61 62 69 6c 69 74 |t. The |viabilit|
|00000260| 79 20 6f 66 20 61 20 63 | 6f 6e 74 69 6e 65 6e 74 |y of a c|ontinent|
|00000270| 20 69 73 20 64 65 74 65 | 72 6d 69 6e 65 64 20 62 | is dete|rmined b|
|00000280| 79 3a 0d 3b 3b 3b 20 20 | 20 20 31 29 20 20 23 20 |y:.;;; | 1) # |
|00000290| 6f 66 20 63 6f 75 6e 74 | 72 69 65 73 20 61 6c 72 |of count|ries alr|
|000002a0| 65 61 64 79 20 6f 77 6e | 65 64 20 62 79 20 74 68 |eady own|ed by th|
|000002b0| 65 20 70 6c 61 79 65 72 | 2e 0d 3b 3b 3b 20 20 20 |e player|..;;; |
|000002c0| 20 32 29 20 20 23 20 6f | 66 20 63 6f 75 6e 74 72 | 2) # o|f countr|
|000002d0| 69 65 73 20 61 6c 72 65 | 61 64 79 20 6f 77 6e 65 |ies alre|ady owne|
|000002e0| 64 20 62 79 20 65 6e 65 | 6d 69 65 73 2e 0d 3b 3b |d by ene|mies..;;|
|000002f0| 3b 20 20 20 20 33 29 20 | 20 6d 61 78 69 6d 75 6d |; 3) | maximum|
|00000300| 20 23 20 6f 66 20 61 76 | 61 69 6c 61 62 6c 65 20 | # of av|ailable |
|00000310| 63 6f 75 6e 74 72 69 65 | 73 20 74 68 61 74 20 74 |countrie|s that t|
|00000320| 68 65 20 70 6c 61 79 65 | 72 20 63 6f 75 6c 64 20 |he playe|r could |
|00000330| 6f 77 6e 2e 0d 3b 3b 3b | 20 20 20 20 34 29 20 20 |own..;;;| 4) |
|00000340| 6d 69 6e 69 6d 75 6d 20 | 23 20 6f 66 20 61 76 61 |minimum |# of ava|
|00000350| 69 6c 61 62 6c 65 20 63 | 6f 75 6e 74 72 69 65 73 |ilable c|ountries|
|00000360| 20 74 68 61 74 20 65 6e | 65 6d 69 65 73 20 77 69 | that en|emies wi|
|00000370| 6c 6c 20 6f 77 6e 2e 0d | 3b 3b 3b 20 20 20 20 35 |ll own..|;;; 5|
|00000380| 29 20 20 23 20 6f 66 20 | 63 6f 6e 74 69 6e 65 6e |) # of |continen|
|00000390| 74 20 62 6f 72 64 65 72 | 20 63 6f 75 6e 74 72 69 |t border| countri|
|000003a0| 65 73 0d 3b 3b 3b 20 20 | 20 20 36 29 20 20 23 20 |es.;;; | 6) # |
|000003b0| 6f 66 20 63 6f 75 6e 74 | 72 69 65 73 20 61 6c 72 |of count|ries alr|
|000003c0| 65 61 64 79 20 6f 77 6e | 65 64 20 62 79 20 74 68 |eady own|ed by th|
|000003d0| 65 20 70 6c 61 79 65 72 | 20 69 6e 20 61 64 6a 61 |e player| in adja|
|000003e0| 63 65 6e 74 20 63 6f 6e | 74 69 6e 65 6e 74 73 2e |cent con|tinents.|
|000003f0| 0d 3b 3b 3b 0d 3b 3b 3b | 20 54 68 65 20 76 69 61 |.;;;.;;;| The via|
|00000400| 62 69 6c 69 74 79 20 6f | 66 20 61 20 63 6f 75 6e |bility o|f a coun|
|00000410| 74 72 79 20 69 73 20 64 | 65 74 65 72 6d 69 6e 65 |try is d|etermine|
|00000420| 64 20 62 79 3a 0d 3b 3b | 3b 20 20 20 20 31 29 20 |d by:.;;|; 1) |
|00000430| 20 23 20 6f 66 20 61 64 | 6a 61 63 65 6e 74 20 63 | # of ad|jacent c|
|00000440| 6f 75 6e 74 72 69 65 73 | 20 6f 77 6e 65 64 20 62 |ountries| owned b|
|00000450| 79 20 74 68 65 20 70 6c | 61 79 65 72 2e 0d 3b 3b |y the pl|ayer..;;|
|00000460| 3b 20 20 20 20 32 29 20 | 20 74 68 65 20 73 69 7a |; 2) | the siz|
|00000470| 65 20 6f 66 20 74 68 65 | 20 63 6c 75 6d 70 20 74 |e of the| clump t|
|00000480| 68 61 74 20 77 69 6c 6c | 20 62 65 20 66 6f 72 6d |hat will| be form|
|00000490| 65 64 20 62 79 20 6f 77 | 6e 69 6e 67 20 61 20 63 |ed by ow|ning a c|
|000004a0| 6f 75 6e 74 72 79 2e 0d | 3b 3b 3b 0d 3b 3b 3b 20 |ountry..|;;;.;;; |
|000004b0| 55 53 45 3a 0d 3b 3b 3b | 0d 3b 3b 3b 20 54 68 69 |USE:.;;;|.;;; Thi|
|000004c0| 73 20 6d 65 74 68 6f 64 | 20 77 69 6c 6c 20 62 65 |s method| will be|
|000004d0| 20 63 61 6c 6c 65 64 20 | 66 72 6f 6d 20 74 68 65 | called |from the|
|000004e0| 20 63 6f 6e 74 72 6f 6c | 20 6f 62 6a 65 63 74 20 | control| object |
|000004f0| 61 73 20 6e 65 65 64 65 | 64 2e 0d 3b 3b 3b 0d 0d |as neede|d..;;;..|
|00000500| 28 69 6e 2d 70 61 63 6b | 61 67 65 20 3a 70 61 75 |(in-pack|age :pau|
|00000510| 6c 29 0d 0d 0d 28 64 65 | 66 6d 65 74 68 6f 64 20 |l)...(de|fmethod |
|00000520| 73 65 6c 65 63 74 2d 63 | 6f 75 6e 74 72 79 20 28 |select-c|ountry (|
|00000530| 28 70 6c 61 79 65 72 20 | 70 61 75 6c 2d 70 6c 61 |(player |paul-pla|
|00000540| 79 65 72 29 29 0d 20 20 | 28 6c 65 74 2a 20 28 28 |yer)). |(let* ((|
|00000550| 61 76 61 69 6c 61 62 6c | 65 20 28 61 76 61 69 6c |availabl|e (avail|
|00000560| 61 62 6c 65 2d 63 6f 75 | 6e 74 72 69 65 73 20 70 |able-cou|ntries p|
|00000570| 6c 61 79 65 72 29 29 0d | 20 20 20 20 20 20 20 20 |layer)).| |
|00000580| 20 28 65 78 70 65 63 74 | 65 64 2d 63 68 6f 69 63 | (expect|ed-choic|
|00000590| 65 73 20 28 63 65 69 6c | 69 6e 67 20 28 6c 65 6e |es (ceil|ing (len|
|000005a0| 67 74 68 20 61 76 61 69 | 6c 61 62 6c 65 29 20 0d |gth avai|lable) .|
|000005b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000005c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000005d0| 20 20 20 20 28 6c 65 6e | 67 74 68 20 28 63 6f 6e | (len|gth (con|
|000005e0| 71 75 65 73 74 2d 70 6c | 61 79 65 72 73 20 70 6c |quest-pl|ayers pl|
|000005f0| 61 79 65 72 29 29 29 29 | 0d 20 20 20 20 20 20 20 |ayer))))|. |
|00000600| 20 20 28 62 65 73 74 2d | 63 6f 75 6e 74 72 79 20 | (best-|country |
|00000610| 6e 69 6c 29 0d 20 20 20 | 20 20 20 20 20 20 28 62 |nil). | (b|
|00000620| 65 73 74 2d 68 65 75 72 | 69 73 74 69 63 20 28 2d |est-heur|istic (-|
|00000630| 20 6d 6f 73 74 2d 70 6f | 73 69 74 69 76 65 2d 66 | most-po|sitive-f|
|00000640| 69 78 6e 75 6d 29 29 0d | 20 20 20 20 20 20 20 20 |ixnum)).| |
|00000650| 20 28 63 6f 6e 74 69 6e | 65 6e 74 2d 68 65 75 72 | (contin|ent-heur|
|00000660| 69 73 74 69 63 73 20 0d | 20 20 20 20 20 20 20 20 |istics .| |
|00000670| 20 20 28 63 6f 6d 70 75 | 74 65 2d 63 6f 6e 74 69 | (compu|te-conti|
|00000680| 6e 65 6e 74 2d 68 65 75 | 72 69 73 74 69 63 73 20 |nent-heu|ristics |
|00000690| 70 6c 61 79 65 72 20 65 | 78 70 65 63 74 65 64 2d |player e|xpected-|
|000006a0| 63 68 6f 69 63 65 73 29 | 29 20 29 0d 0d 20 20 20 |choices)|) ).. |
|000006b0| 20 28 64 6f 6c 69 73 74 | 20 28 63 6f 75 6e 74 72 | (dolist| (countr|
|000006c0| 79 20 61 76 61 69 6c 61 | 62 6c 65 29 0d 20 20 20 |y availa|ble). |
|000006d0| 20 20 20 28 6c 65 74 2a | 20 28 28 63 6f 6e 74 69 | (let*| ((conti|
|000006e0| 6e 65 6e 74 20 28 63 6f | 6e 74 69 6e 65 6e 74 2d |nent (co|ntinent-|
|000006f0| 6f 66 2d 63 6f 75 6e 74 | 72 79 20 70 6c 61 79 65 |of-count|ry playe|
|00000700| 72 20 63 6f 75 6e 74 72 | 79 29 29 0d 20 20 20 20 |r countr|y)). |
|00000710| 20 20 20 20 20 20 20 20 | 20 28 63 6f 6e 74 69 6e | | (contin|
|00000720| 65 6e 74 2d 68 65 75 72 | 69 73 74 69 63 20 28 72 |ent-heur|istic (r|
|00000730| 65 73 74 20 28 61 73 73 | 6f 63 20 63 6f 6e 74 69 |est (ass|oc conti|
|00000740| 6e 65 6e 74 20 63 6f 6e | 74 69 6e 65 6e 74 2d 68 |nent con|tinent-h|
|00000750| 65 75 72 69 73 74 69 63 | 73 29 29 29 0d 20 20 20 |euristic|s))). |
|00000760| 20 20 20 20 20 20 20 20 | 20 20 28 63 6f 75 6e 74 | | (count|
|00000770| 72 79 2d 68 65 75 72 69 | 73 74 69 63 20 28 63 6f |ry-heuri|stic (co|
|00000780| 75 6e 74 72 79 2d 68 65 | 75 72 69 73 74 69 63 20 |untry-he|uristic |
|00000790| 70 6c 61 79 65 72 20 63 | 6f 75 6e 74 72 79 29 29 |player c|ountry))|
|000007a0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 68 |. | (h|
|000007b0| 65 75 72 69 73 74 69 63 | 20 28 2b 20 63 6f 6e 74 |euristic| (+ cont|
|000007c0| 69 6e 65 6e 74 2d 68 65 | 75 72 69 73 74 69 63 20 |inent-he|uristic |
|000007d0| 63 6f 75 6e 74 72 79 2d | 68 65 75 72 69 73 74 69 |country-|heuristi|
|000007e0| 63 29 29 29 0d 20 20 20 | 20 20 20 20 20 28 77 68 |c))). | (wh|
|000007f0| 65 6e 20 28 3e 20 68 65 | 75 72 69 73 74 69 63 20 |en (> he|uristic |
|00000800| 62 65 73 74 2d 68 65 75 | 72 69 73 74 69 63 29 0d |best-heu|ristic).|
|00000810| 20 20 20 20 20 20 20 20 | 20 20 28 73 65 74 66 20 | | (setf |
|00000820| 62 65 73 74 2d 68 65 75 | 72 69 73 74 69 63 20 68 |best-heu|ristic h|
|00000830| 65 75 72 69 73 74 69 63 | 29 0d 20 20 20 20 20 20 |euristic|). |
|00000840| 20 20 20 20 28 73 65 74 | 66 20 62 65 73 74 2d 63 | (set|f best-c|
|00000850| 6f 75 6e 74 72 79 20 63 | 6f 75 6e 74 72 79 29 29 |ountry c|ountry))|
|00000860| 29 29 0d 20 20 20 20 62 | 65 73 74 2d 63 6f 75 6e |)). b|est-coun|
|00000870| 74 72 79 29 29 0d 0d 0d | 28 64 65 66 6d 65 74 68 |try))...|(defmeth|
|00000880| 6f 64 20 63 6f 6d 70 75 | 74 65 2d 63 6f 6e 74 69 |od compu|te-conti|
|00000890| 6e 65 6e 74 2d 68 65 75 | 72 69 73 74 69 63 73 20 |nent-heu|ristics |
|000008a0| 28 28 70 6c 61 79 65 72 | 20 70 61 75 6c 2d 70 6c |((player| paul-pl|
|000008b0| 61 79 65 72 29 20 65 78 | 70 65 63 74 65 64 2d 63 |ayer) ex|pected-c|
|000008c0| 68 6f 69 63 65 73 29 0d | 20 20 28 6c 65 74 20 28 |hoices).| (let (|
|000008d0| 28 61 76 61 69 6c 61 62 | 6c 65 20 28 61 76 61 69 |(availab|le (avai|
|000008e0| 6c 61 62 6c 65 2d 63 6f | 6e 74 69 6e 65 6e 74 73 |lable-co|ntinents|
|000008f0| 20 70 6c 61 79 65 72 29 | 29 0d 20 20 20 20 20 20 | player)|). |
|00000900| 20 20 28 68 65 75 72 69 | 73 74 69 63 73 20 28 29 | (heuri|stics ()|
|00000910| 29 29 0d 20 20 20 20 28 | 64 6f 6c 69 73 74 20 28 |)). (|dolist (|
|00000920| 63 6f 6e 74 69 6e 65 6e | 74 20 61 76 61 69 6c 61 |continen|t availa|
|00000930| 62 6c 65 29 0d 20 20 20 | 20 20 20 28 70 75 73 68 |ble). | (push|
|00000940| 20 28 63 6f 6e 73 20 63 | 6f 6e 74 69 6e 65 6e 74 | (cons c|ontinent|
|00000950| 20 28 63 6f 6e 74 69 6e | 65 6e 74 2d 68 65 75 72 | (contin|ent-heur|
|00000960| 69 73 74 69 63 20 70 6c | 61 79 65 72 20 63 6f 6e |istic pl|ayer con|
|00000970| 74 69 6e 65 6e 74 20 65 | 78 70 65 63 74 65 64 2d |tinent e|xpected-|
|00000980| 63 68 6f 69 63 65 73 29 | 29 0d 20 20 20 20 20 20 |choices)|). |
|00000990| 20 20 20 20 20 20 68 65 | 75 72 69 73 74 69 63 73 | he|uristics|
|000009a0| 29 29 0d 20 20 20 20 68 | 65 75 72 69 73 74 69 63 |)). h|euristic|
|000009b0| 73 29 29 0d 0d 0d 28 64 | 65 66 6d 65 74 68 6f 64 |s))...(d|efmethod|
|000009c0| 20 63 6f 6e 74 69 6e 65 | 6e 74 2d 68 65 75 72 69 | contine|nt-heuri|
|000009d0| 73 74 69 63 20 28 28 70 | 6c 61 79 65 72 20 70 61 |stic ((p|layer pa|
|000009e0| 75 6c 2d 70 6c 61 79 65 | 72 29 20 63 6f 6e 74 69 |ul-playe|r) conti|
|000009f0| 6e 65 6e 74 20 65 78 70 | 65 63 74 65 64 2d 63 68 |nent exp|ected-ch|
|00000a00| 6f 69 63 65 73 29 0d 20 | 20 28 6c 65 74 2a 20 28 |oices). | (let* (|
|00000a10| 28 63 6f 75 6e 74 72 69 | 65 73 20 28 63 6f 6e 74 |(countri|es (cont|
|00000a20| 69 6e 65 6e 74 2d 63 6f | 75 6e 74 72 69 65 73 2d |inent-co|untries-|
|00000a30| 6c 69 73 74 20 70 6c 61 | 79 65 72 20 63 6f 6e 74 |list pla|yer cont|
|00000a40| 69 6e 65 6e 74 29 29 0d | 20 20 20 20 20 20 20 20 |inent)).| |
|00000a50| 20 28 6f 77 6e 65 64 2d | 63 6f 75 6e 74 72 69 65 | (owned-|countrie|
|00000a60| 73 20 30 29 0d 20 20 20 | 20 20 20 20 20 20 28 65 |s 0). | (e|
|00000a70| 6e 65 6d 79 2d 63 6f 75 | 6e 74 72 69 65 73 20 30 |nemy-cou|ntries 0|
|00000a80| 29 0d 20 20 20 20 20 20 | 20 20 20 28 61 76 61 69 |). | (avai|
|00000a90| 6c 61 62 6c 65 2d 63 6f | 75 6e 74 72 69 65 73 20 |lable-co|untries |
|00000aa0| 30 29 0d 20 20 20 20 20 | 20 20 20 20 28 62 6f 72 |0). | (bor|
|00000ab0| 64 65 72 73 20 28 6c 65 | 6e 67 74 68 20 28 63 6f |ders (le|ngth (co|
|00000ac0| 6e 74 69 6e 65 6e 74 2d | 62 6f 72 64 65 72 73 20 |ntinent-|borders |
|00000ad0| 70 6c 61 79 65 72 20 63 | 6f 6e 74 69 6e 65 6e 74 |player c|ontinent|
|00000ae0| 29 29 29 0d 20 20 20 20 | 20 20 20 20 20 28 61 64 |))). | (ad|
|00000af0| 6a 2d 63 6f 6e 74 69 6e | 65 6e 74 73 20 28 61 64 |j-contin|ents (ad|
|00000b00| 6a 61 63 65 6e 74 2d 63 | 6f 6e 74 69 6e 65 6e 74 |jacent-c|ontinent|
|00000b10| 73 20 70 6c 61 79 65 72 | 20 63 6f 6e 74 69 6e 65 |s player| contine|
|00000b20| 6e 74 29 29 0d 20 20 20 | 20 20 20 20 20 20 28 61 |nt)). | (a|
|00000b30| 64 6a 2d 63 6f 6e 74 69 | 6e 65 6e 74 2d 61 6c 6c |dj-conti|nent-all|
|00000b40| 69 65 73 20 30 29 29 0d | 0d 20 20 20 20 28 64 6f |ies 0)).|. (do|
|00000b50| 6c 69 73 74 20 28 63 6f | 75 6e 74 72 79 20 63 6f |list (co|untry co|
|00000b60| 75 6e 74 72 69 65 73 29 | 0d 20 20 20 20 20 20 28 |untries)|. (|
|00000b70| 6c 65 74 20 28 28 6f 77 | 6e 65 72 20 28 63 6f 75 |let ((ow|ner (cou|
|00000b80| 6e 74 72 79 2d 6f 77 6e | 65 72 20 70 6c 61 79 65 |ntry-own|er playe|
|00000b90| 72 20 63 6f 75 6e 74 72 | 79 29 29 29 0d 20 20 20 |r countr|y))). |
|00000ba0| 20 20 20 20 20 28 63 6f | 6e 64 20 28 28 6e 75 6c | (co|nd ((nul|
|00000bb0| 6c 20 6f 77 6e 65 72 29 | 20 28 69 6e 63 66 20 61 |l owner)| (incf a|
|00000bc0| 76 61 69 6c 61 62 6c 65 | 2d 63 6f 75 6e 74 72 69 |vailable|-countri|
|00000bd0| 65 73 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |es)). | |
|00000be0| 20 20 20 28 28 65 71 20 | 6f 77 6e 65 72 20 28 69 | ((eq |owner (i|
|00000bf0| 64 20 70 6c 61 79 65 72 | 29 29 20 28 69 6e 63 66 |d player|)) (incf|
|00000c00| 20 6f 77 6e 65 64 2d 63 | 6f 75 6e 74 72 69 65 73 | owned-c|ountries|
|00000c10| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |)). | |
|00000c20| 20 28 74 20 28 69 6e 63 | 66 20 65 6e 65 6d 79 2d | (t (inc|f enemy-|
|00000c30| 63 6f 75 6e 74 72 69 65 | 73 29 29 29 29 29 0d 0d |countrie|s)))))..|
|00000c40| 20 20 20 20 28 64 6f 6c | 69 73 74 20 28 61 64 6a | (dol|ist (adj|
|00000c50| 2d 63 6f 6e 74 69 6e 65 | 6e 74 20 61 64 6a 2d 63 |-contine|nt adj-c|
|00000c60| 6f 6e 74 69 6e 65 6e 74 | 73 29 0d 20 20 20 20 20 |ontinent|s). |
|00000c70| 20 28 6c 65 74 20 28 28 | 6f 77 6e 65 64 2d 63 6f | (let ((|owned-co|
|00000c80| 75 6e 74 72 69 65 73 20 | 28 70 6c 61 79 65 72 2d |untries |(player-|
|00000c90| 63 6f 75 6e 74 72 69 65 | 73 2d 6f 6e 2d 63 6f 6e |countrie|s-on-con|
|00000ca0| 74 69 6e 65 6e 74 20 70 | 6c 61 79 65 72 20 61 64 |tinent p|layer ad|
|00000cb0| 6a 2d 63 6f 6e 74 69 6e | 65 6e 74 29 29 29 0d 20 |j-contin|ent))). |
|00000cc0| 20 20 20 20 20 20 20 28 | 69 6e 63 66 20 61 64 6a | (|incf adj|
|00000cd0| 2d 63 6f 6e 74 69 6e 65 | 6e 74 2d 61 6c 6c 69 65 |-contine|nt-allie|
|00000ce0| 73 20 28 6c 65 6e 67 74 | 68 20 6f 77 6e 65 64 2d |s (lengt|h owned-|
|00000cf0| 63 6f 75 6e 74 72 69 65 | 73 29 29 29 29 0d 0d 20 |countrie|s)))).. |
|00000d00| 20 20 20 28 2d 20 28 2b | 20 28 2a 20 34 20 6f 77 | (- (+| (* 4 ow|
|00000d10| 6e 65 64 2d 63 6f 75 6e | 74 72 69 65 73 29 0d 20 |ned-coun|tries). |
|00000d20| 20 20 20 20 20 20 20 20 | 20 28 2a 20 33 20 28 6d | | (* 3 (m|
|00000d30| 69 6e 20 65 78 70 65 63 | 74 65 64 2d 63 68 6f 69 |in expec|ted-choi|
|00000d40| 63 65 73 20 61 76 61 69 | 6c 61 62 6c 65 2d 63 6f |ces avai|lable-co|
|00000d50| 75 6e 74 72 69 65 73 29 | 29 0d 20 20 20 20 20 20 |untries)|). |
|00000d60| 20 20 20 20 28 2a 20 32 | 20 61 64 6a 2d 63 6f 6e | (* 2| adj-con|
|00000d70| 74 69 6e 65 6e 74 2d 61 | 6c 6c 69 65 73 29 29 0d |tinent-a|llies)).|
|00000d80| 20 20 20 20 20 20 20 28 | 2b 20 28 2a 20 31 30 20 | (|+ (* 10 |
|00000d90| 65 6e 65 6d 79 2d 63 6f | 75 6e 74 72 69 65 73 29 |enemy-co|untries)|
|00000da0| 0d 20 20 20 20 20 20 20 | 20 20 20 28 2a 20 32 20 |. | (* 2 |
|00000db0| 28 6d 61 78 20 30 20 28 | 2d 20 61 76 61 69 6c 61 |(max 0 (|- availa|
|00000dc0| 62 6c 65 2d 63 6f 75 6e | 74 72 69 65 73 20 65 78 |ble-coun|tries ex|
|00000dd0| 70 65 63 74 65 64 2d 63 | 68 6f 69 63 65 73 29 29 |pected-c|hoices))|
|00000de0| 29 0d 20 20 20 20 20 20 | 20 20 20 20 28 2a 20 34 |). | (* 4|
|00000df0| 20 62 6f 72 64 65 72 73 | 29 29 29 20 29 29 0d 20 | borders|))) )). |
|00000e00| 20 20 20 20 20 20 20 20 | 20 0d 0d 28 64 65 66 6d | | ..(defm|
|00000e10| 65 74 68 6f 64 20 63 6f | 75 6e 74 72 79 2d 68 65 |ethod co|untry-he|
|00000e20| 75 72 69 73 74 69 63 20 | 28 28 70 6c 61 79 65 72 |uristic |((player|
|00000e30| 20 70 61 75 6c 2d 70 6c | 61 79 65 72 29 20 63 6f | paul-pl|ayer) co|
|00000e40| 75 6e 74 72 79 29 0d 20 | 20 28 6c 65 74 2a 20 28 |untry). | (let* (|
|00000e50| 28 61 64 6a 2d 61 6c 6c | 69 65 73 20 28 61 64 6a |(adj-all|ies (adj|
|00000e60| 61 63 65 6e 74 2d 61 6c | 6c 69 65 73 20 70 6c 61 |acent-al|lies pla|
|00000e70| 79 65 72 20 63 6f 75 6e | 74 72 79 20 28 69 64 20 |yer coun|try (id |
|00000e80| 70 6c 61 79 65 72 29 29 | 29 0d 20 20 20 20 20 20 |player))|). |
|00000e90| 20 20 20 28 61 64 6a 61 | 63 65 6e 63 79 20 28 6c | (adja|cency (l|
|00000ea0| 65 6e 67 74 68 20 61 64 | 6a 2d 61 6c 6c 69 65 73 |ength ad|j-allies|
|00000eb0| 29 29 0d 20 20 20 20 20 | 20 20 20 20 28 6e 65 77 |)). | (new|
|00000ec0| 2d 63 6c 75 6d 70 2d 73 | 69 7a 65 20 30 29 29 0d |-clump-s|ize 0)).|
|00000ed0| 20 20 20 20 28 64 6f 2a | 20 28 28 61 6c 6c 69 65 | (do*| ((allie|
|00000ee0| 73 20 61 64 6a 2d 61 6c | 6c 69 65 73 20 28 72 65 |s adj-al|lies (re|
|00000ef0| 73 74 20 61 6c 6c 69 65 | 73 29 29 0d 20 20 20 20 |st allie|s)). |
|00000f00| 20 20 20 20 20 20 28 61 | 6c 6c 79 20 28 66 69 72 | (a|lly (fir|
|00000f10| 73 74 20 61 6c 6c 69 65 | 73 29 20 28 66 69 72 73 |st allie|s) (firs|
|00000f20| 74 20 61 6c 6c 69 65 73 | 29 29 29 0d 20 20 20 20 |t allies|))). |
|00000f30| 20 20 20 20 20 28 28 6e | 75 6c 6c 20 61 6c 6c 69 | ((n|ull alli|
|00000f40| 65 73 29 29 0d 20 20 20 | 20 20 20 28 6c 65 74 20 |es)). | (let |
|00000f50| 28 28 63 6c 75 6d 70 20 | 28 66 69 6e 64 2d 63 6c |((clump |(find-cl|
|00000f60| 75 6d 70 20 70 6c 61 79 | 65 72 20 61 6c 6c 79 29 |ump play|er ally)|
|00000f70| 29 29 0d 20 20 20 20 20 | 20 20 20 28 73 65 74 66 |)). | (setf|
|00000f80| 20 61 64 6a 2d 61 6c 6c | 69 65 73 20 0d 20 20 20 | adj-all|ies . |
|00000f90| 20 20 20 20 20 20 20 20 | 20 20 20 28 64 65 6c 65 | | (dele|
|00000fa0| 74 65 2d 69 66 20 23 27 | 28 6c 61 6d 62 64 61 20 |te-if #'|(lambda |
|00000fb0| 28 61 6c 6c 79 29 20 28 | 6d 65 6d 62 65 72 20 61 |(ally) (|member a|
|00000fc0| 6c 6c 79 20 63 6c 75 6d | 70 29 29 20 61 64 6a 2d |lly clum|p)) adj-|
|00000fd0| 61 6c 6c 69 65 73 29 29 | 0d 20 20 20 20 20 20 20 |allies))|. |
|00000fe0| 20 28 69 6e 63 66 20 6e | 65 77 2d 63 6c 75 6d 70 | (incf n|ew-clump|
|00000ff0| 2d 73 69 7a 65 20 28 6c | 65 6e 67 74 68 20 63 6c |-size (l|ength cl|
|00001000| 75 6d 70 29 29 20 29 29 | 0d 20 20 20 20 28 2a 20 |ump)) ))|. (* |
|00001010| 61 64 6a 61 63 65 6e 63 | 79 20 6e 65 77 2d 63 6c |adjacenc|y new-cl|
|00001020| 75 6d 70 2d 73 69 7a 65 | 29 20 29 29 0d 00 00 00 |ump-size|) ))....|
|00001030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001060| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001070| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001080| 00 00 01 00 00 00 01 8d | 00 00 00 8d 00 00 00 52 |........|.......R|
|00001090| 73 84 72 27 5c 02 07 18 | 2c 2e 4d d5 4b 6c 01 c0 |s.r'\...|,.M.Kl..|
|000010a0| 86 48 4b 20 0a 02 2a 06 | 9a 80 61 01 90 85 f1 02 |.HK ..*.|..a.....|
|000010b0| 13 73 65 6c 65 63 74 2d | 63 6f 75 6e 74 72 79 2e |.select-|country.|
|000010c0| 6c 69 73 70 02 00 00 00 | 54 45 58 54 43 43 4c 32 |lisp....|TEXTCCL2|
|000010d0| 00 00 54 45 58 54 43 43 | 4c 32 01 00 00 78 00 00 |..TEXTCC|L2...x..|
|000010e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000010f0| 00 00 a7 0f 16 96 00 00 | 0f ad 00 00 01 df 72 00 |........|......r.|
|00001100| 12 08 01 00 00 05 5a 4b | 03 00 00 00 00 01 11 68 |......ZK|.......h|
|00001110| e8 63 9a 90 10 11 2e 2e | 00 14 41 ee ff 00 42 10 |.c......|..A...B.|
|00001120| 2f 07 48 6e ff 00 4e ad | 10 c2 48 6e ff 00 2f 07 |/.Hn..N.|..Hn../.|
|00001130| 70 00 10 2e 00 13 2f 00 | 15 2f 2e 00 0c 2f 2e 00 |p...../.|./.../..|
|00001140| 08 4e ba 74 16 2e 2e fe | fc 4e 5e 4e 75 4e 56 00 |.N.t....|.N^NuNV.|
|00001150| 00 60 5a 4f 50 01 11 7a | 8a 8d 67 01 67 1e 5a 6a |.`ZOP..z|..g.g.Zj|
|00001160| 12 2f 2e 00 14 12 70 00 | 10 2e 11 00 13 56 60 5a |./....p.|.....V`Z|
|00001170| 4d 4c 01 00 6e 68 71 8c | 5b 13 4e 5e 4e 75 4e 56 |ML..nhq.|[.N^NuNV|
|00001180| 00 00 00 0f 00 00 05 54 | 69 6d 65 73 06 4d 6f 6e |.......T|imes.Mon|
|00001190| 61 63 6f 00 00 00 48 00 | 09 4d 6f 6e 61 63 6f 00 |aco...H.|.Monaco.|
|000011a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011b0| 00 00 00 00 00 00 00 00 | 00 00 06 00 08 00 2c 00 |........|......,.|
|000011c0| 06 01 d9 02 1b 00 2c 00 | 06 01 d9 02 1b 00 00 00 |......,.|........|
|000011d0| 00 00 00 04 27 00 00 04 | 27 00 00 00 00 01 00 00 |....'...|'.......|
|000011e0| 00 00 12 00 02 00 14 0c | 01 00 04 09 00 01 00 00 |........|........|
|000011f0| 00 02 00 04 7f 01 00 00 | c6 02 00 01 72 01 00 01 |........|....r...|
|00001200| 87 02 00 01 bc 01 00 01 | bd 02 00 01 db 00 00 01 |........|........|
|00001210| 00 00 00 01 8d 00 00 00 | 8d 00 00 00 52 00 19 a7 |........|....R...|
|00001220| 8c 0a a8 00 00 00 1c 00 | 52 00 01 46 52 45 44 00 |........|R..FRED.|
|00001230| 01 00 12 4d 50 53 52 00 | 00 00 2a 00 02 ff ff 00 |...MPSR.|..*.....|
|00001240| 00 00 5f 00 00 00 00 00 | 03 ff ff 00 00 00 00 00 |.._.....|........|
|00001250| 00 00 00 03 ed ff ff 00 | 00 00 13 00 1a 94 80 00 |........|........|
|00001260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+